SymPas: Symbolic Program Slicing

نویسندگان

چکیده

Program slicing is a technique for simplifying programs by focusing on selected aspects of their behavior. Current mainstream static methods operate dependence graph PDG (program graph) or SDG (system graph), but these friendly representations may be bit expensive some users. In this paper we attempt to study light-weight approach program slicing, called Symbolic Slicing (SymPas), which works as dataflow analysis LLVM (low-level virtual machine). our SymPas approach, slices are stored in symbolic forms, not procedures being re-analyzed (cf. procedure summaries). Instead re-analyzing multiple times find its each callling context, calculate single slice can instantiated at call sites avoiding re-analysis; implemented with perform intermediate representation (IR). For comparison, systematically adapt IFDS (interprocedural finite distributive subset) and the SDG-based method (SDG-IFDS) statically IR programs. Evaluated open-source benchmark programs, backward shows factor-of-6 reduction time cost factor-of-4 space cost, compared SDG-IFDS, thus more efficient. addition, result that after studying from 66 ranging up 336 800 instructions size, highly size-scalable.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Program Slicing

The concept of static program slicing was first introduced by Weiser. Ottenstein et al. indicated that an intraprocedural slice can be found in linear time by traversing a suitable graph representation of the program referred to as the program dependence graph (PDG). Horwitz et al. introduced algorithms to construct interprocedural slices by extending the program dependence graph to a supergrap...

متن کامل

Program Specialization via Program Slicing

This paper concerns the use of program slicing to perform a certain kind of program-specialization operation. We show that the specialization operation that slicing performs is different from the specialization operations performed by algorithms for partial evaluation, supercompilation, bifurcation, and deforestation. To study the relationship between slicing and these operations in a simplifie...

متن کامل

Dynamic program slicing methods

A dynamic program slice is this part of a program that "affects" the computation of a variable of interest during program execution on a specific program input. Dynamic program slicing refers to a collection of program slicing methods that are based on program execution and may significantly reduce the size of a program slice because run-time information, collected during program execution, is ...

متن کامل

Program Slicing by Calculation

Program slicing is a well known family of techniques used to identify code fragments which depend on or are depended upon specific program entities. They are particularly useful in the areas of reverse engineering, program understanding, testing and software maintenance. Most slicing methods, usually oriented towards the imperative or object paradigms, are based on some sort of graph structure ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Journal of Computer Science and Technology

سال: 2021

ISSN: ['1666-6046', '1666-6038']

DOI: https://doi.org/10.1007/s11390-020-9754-4